package pfc.taller.accesoBD.dao;

import java.sql.SQLException;
import java.util.List;

import pfc.taller.accesoBD.servidorSQL.ServidorSql;
import pfc.taller.tablas.TCategoria;
import pfc.taller.tablas.TEmpleado;

import com.ibatis.sqlmap.client.SqlMapClient;


public class DAOEmpleado implements IDAOEmpleado 
{
	@SuppressWarnings("unchecked")
	public List<TCategoria> cargaCategorias() throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		List<TCategoria> datos		= clienteSqlMap.queryForList( "EMPLEADO.getCategorias", null );
		
		return datos;
	}
	
	public void altaEmpleado(TEmpleado empleado) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("EMPLEADO.nuevoEmpleado", empleado );
	}
	
	public TEmpleado buscaEmpleadoPorId(int id_empleado) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		TEmpleado tEmpleado			= (TEmpleado)clienteSqlMap.queryForObject("EMPLEADO.getEmpleadoPorId", id_empleado);
		
		return tEmpleado;
	}

	@SuppressWarnings("unchecked")
	public List<TEmpleado> getEmpleados() throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		List<TEmpleado> datos		= clienteSqlMap.queryForList( "EMPLEADO.getEmpleados", null );
		
		return datos;
	}

	public void modificaEmpleado(TEmpleado empleado) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("EMPLEADO.modificarEmpleado", empleado);
	}

	public void eliminaEmpleado(Integer empleado) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("EMPLEADO.eliminarEmpleado", empleado);
	}
}
